package com.youdianda.service;

import com.youdianda.dto.LoginDto;
import com.youdianda.dto.SysUserInsertDTO;
import com.youdianda.dto.SysUserPageDTO;
import com.youdianda.dto.UserUpdateDTO;
import com.youdianda.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youdianda.result.Result;
import com.youdianda.vo.BaseInfoVO;
import com.youdianda.vo.GetConfigVo;
import com.youdianda.vo.ProfileVO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author sdy
 * @since 2023-05-15
 */
public interface ISysUserService extends IService<SysUser> {


    /**
     * 获取系统配置
     * @return
     */
    public Result<GetConfigVo> getConfig();

    /**
     * 主页统计信息
     * @return
     */
    public Result<BaseInfoVO> baseInfo();

    /**
     *登录接口
     * @param loginDto
     * @return
     */
    public Result login(LoginDto loginDto);

    /**
     * 获取用户资料
     * @return
     */
    public Result<ProfileVO> profile();

    /**
     * 用户列表 分页查询
     * @param dto
     * @return
     */
    public Result userList(SysUserPageDTO dto);

    /**
     * 根据id删除用户 管理员删除
     * @param id
     * @return
     */
    public Result userDel(String id);

    /**
     * 新增员工
     * @param dto
     * @return
     */
    public Result userAdd(SysUserInsertDTO dto);

    /**
     * 根据id查询用户 回显
     * @param id
     * @return
     */
    public Result userRowInfo(String id);

    /**
     * 根据信息修改数据
     * @param dto
     * @return
     */
    public Result userUpdate(UserUpdateDTO dto);

}
